package com.carol.lmsbe.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.carol.lmsbe.dto.*;

import java.util.List;

/**
 * 设备管理服务接口
 */
public interface EquipmentService {

    /**
     * 分页查询设备列表
     */
    Page<EquipmentDTO> listEquipment(EquipmentQueryRequest request);

    /**
     * 根据ID获取设备详情
     */
    EquipmentDTO getEquipmentById(Long id);

    /**
     * 创建设备
     */
    EquipmentDTO createEquipment(EquipmentCreateRequest request);

    /**
     * 更新设备
     */
    EquipmentDTO updateEquipment(EquipmentUpdateRequest request);

    /**
     * 删除设备
     */
    void deleteEquipment(Long id);

    /**
     * 获取设备统计信息
     */
    EquipmentStatisticsResponse getEquipmentStatistics(EquipmentStatisticsRequest request);

    /**
     * 获取所有设备类别
     */
    List<String> getAllCategories();

    /**
     * 获取所有设备状态
     */
    List<String> getAllStatuses();

    /**
     * 批量删除设备
     */
    void batchDeleteEquipment(List<Long> ids);

    /**
     * 导出设备数据
     */
    byte[] exportEquipmentData(EquipmentQueryRequest request);

    /**
     * 获取可用设备列表
     */
    List<EquipmentDTO> getAvailableEquipments();
}
